home *** CD-ROM | disk | FTP | other *** search
/ Dr. Windows 3 / dr win3.zip / dr win3 / NEW_TECH / WINCMD.ZIP / WINCMD.DOC < prev    next >
Text File  |  1993-04-07  |  47KB  |  1,003 lines

  1. WINCMD.EXE (VERSION 1.0)                Copyright (c) 1993 Douglas Boling
  2. -------------------------------------------------------------------------
  3.                 First Published in PC Magazine April 27, 1993 (Utilities)
  4. -------------------------------------------------------------------------
  5.  
  6. WINCMD:
  7.                 WINCMD is a Windows-based command file interpreter that
  8. lets you create simple Windows 3.1 specific programs to automate repetivive
  9. tasks.
  10.  
  11.      Remember the DOS batch files with which you once proudly automated
  12. all your routine tasks?  If you've joined the mad rush to Windows, you've
  13. simply had to learn to do without this useful and convenient facility.
  14. The DOS batch file language may have been limited, but Windows supported
  15. nothing at all in its place--until now.
  16.  
  17.    WINCMD.EXE, this issue's utility, is a Windows-based command file
  18. interpreter that lets you create simple Windows programs that perform
  19. the repetitive functions that were once the domain of DOS batch files.
  20. WINCMD goes far beyond the simple DOS batch file language, however.
  21. Its language includes looping and branching statements  along with
  22. user-defined subroutines and functions.  Both numeric and string
  23. variables are supported, as is a full suite of arithmetic and logical
  24. operators.
  25.  
  26.      You can use any ASCII editor, such as Notepad, to create WINCMD
  27. programs.  Typically, these programs will carry a .WCM extension, though
  28. this is not required unless you want the program to be callable from
  29. another WINCMD program.  A single .WCM file can be up to 64K in size,
  30. though its executable parts (those not made up of comment lines) are
  31. limited to about 45K.
  32.  
  33.  USING WINCMD
  34.  
  35.       Before discussing how to use WINCMD, I must start with some
  36. terminology.  WINCMD.EXE is the Windows program I've written.
  37. It interprets programs--which are ASCII files--that are written in the
  38. WINCMD language.  To keep the two kinds of programs separate, I'll use
  39. the full name and extension, WINCMD.EXE, when referring to the utility
  40. itself.  I'll refer to the ASCII files that WINCMD.EXE interprets as
  41. WINCMD programs.
  42.  
  43.      To install WINCMD.EXE, just copy it, along with WINCMD.ICO (its
  44. icon file) and any .WCM files you have (two are supplied with the
  45. program), into a directory on your path.  Select the FileNew menu item
  46. in the Program Manager and choose Program Item.  Enter the short title
  47. you want to appear under the icon as the Description, and enter the
  48. complete path and WINCMD.EXE on the command line.
  49.  
  50.      To make it easy to run WINCMD programs, you should then also use
  51. the File Manager to associate the .WCM file extension with WINCMD.EXE.
  52. To do this, start the Windows File Manager and select the FileAssociate
  53. menu item.  When the dialog box appears enter WCM, the WINCMD default
  54. extension, in the edit box.  In the Combo Box that lists the programs,
  55. enter the path to and filename of WINCMD.EXE.  Click on the OK button
  56. and you're set!
  57.  
  58.      From now on, any time you click on a WINCMD file in the File Manager
  59. or Program Manager, Windows will automatically start WINCMD.EXE and pass
  60. it the name of your WINCMD program.  When WINCMD.EXE is started with a
  61. filename on the command line, it will immediately start executing that
  62. file.  When WINCMD.EXE has finished executing the WINCMD program, it
  63. will gracefully terminate.
  64.  
  65.      Since debugging is important even for WINCMD programs, WINCMD.EXE
  66. provides help in this area.  If WINCMD.EXE is started with an /L command
  67. switch before the WINCMD program name, WINCMD.EXE will display a window
  68. with your WINCMD program loaded into memory, ready to execute.  Be sure
  69. not to place the /L after the WINCMD program name, or it will be
  70. considered an argument to the command file.  When WINCMD.EXE starts,
  71. it performs some preprocessing on your WINCMD program.  If it finds any
  72. lines it does not understand, you'll get appropriate print error messages
  73. with line numbers to help you find the problem.
  74.  
  75.      Error messages are displayed for such faults as lines being too long
  76. or numbers too big.  When an error message is printed, WINCMD.EXE changes
  77. to display two windows. The listing window displays the WINCMD program
  78. with the line highlighted that is to be executed next.  The output window
  79. displays the last 100 lines printed by the WINCMD program as well as the
  80. error messages.
  81.  
  82.      WINCMD.EXE allows you to run a WINCMD program from the window in two
  83. different ways.  The program can be run normally either by pressing the
  84. Run button or by selecting the RunRun Program menu selection.  The
  85. WINCMD.EXE window will then change to display only the output window and
  86. run the WINCMD program.  The Run button text will change to Stop.
  87.  
  88.       Pressing the Stop button will cause WINCMD.EXE to stop executing
  89. the WINCMD program and to display both the output and listing windows.
  90. Again, the line in the program that would have been executed next is
  91. highlighted.  The program can then be restarted from this point simply
  92. by clicking on the Run button.  If you want to start the program from
  93. the beginning, first click on the Reset button to reset the program and
  94. then hit the Run button to start the program on its way.  Note that when
  95. WINCMD resets a program, it rereads the program from the disk.  This
  96. means that you can make changes to the program and then you can have
  97. WINCMD load those changes by pressing the Reset button.
  98.  
  99.      The other way to run a WINCMD program is by stepping through it
  100. one line at a time.  Single stepping is very handy to see exactly how
  101. a WINCMD program is being executed.  Each press of the Step button will
  102. cause WINCMD.EXE to execute one line of the WINCMD program.  The listing
  103. window will highlight the next line to be executed.
  104.  
  105. WINCMD VARIABLES AND ARITHMETIC
  106.  
  107.      The WINCMD syntax combines the power of a high-level language with
  108. the simple command line operation of a batch language.  Before discussing
  109. the different WINCMD statements in detail, I should explain how WINCMD
  110. programs use variables.  The WINCMD language makes no distinction between
  111. string variables and numeric variables.  That is, a variable that has
  112. been assigned a string value can later be assigned a number and vice versa.
  113. Variables do not have to be declared before they are used.  As you would
  114. expect, variables are assigned using the equal sign.
  115.  
  116.      The following three  statements are examples of valid WINCMD
  117. assignments.
  118.  
  119.                      var = 1
  120.                      var = magazine
  121.                      var = "I like PC Magazine"
  122.  
  123.      In the first assignment above, the variable VAR is given the
  124. value 1.  The second assignment has the variable assigned the string
  125. ``magazine.''  In the third assignment, VAR is assigned the string ``I
  126. like PC Magazine.''  The quotes allow spaces to be included in the string
  127. assigned to VAR.  If the quotes were not used, WINCMD would attempt to
  128. assign the variable VAR with the string ``I'', but would then find the
  129. additional characters on the line.  WINCMD would then stop execution and
  130. print the error message ``Extra characters on line.''
  131.  
  132.      Variable names may contain numbers, letters, or the characters
  133. _, $, %, and #, but the first character in a variable must always be
  134. either a letter or underscore (_).  Variable names are not case-sensitive;
  135. the names BOB, Bob, and bob all refer to the same variable.  Variable names
  136. can be up to 253 characters long.  Variables can be used anywhere strings
  137. or numbers can be used in the program.
  138.  
  139.      The numbers you use may range from -2,147,483,648 to 2,147,483,647,
  140. and can be expressed in binary, octal, decimal, or hexadecimal format.
  141. (In entering numbers, do not type in the commas shown above, however.)
  142. The WINCMD default is base 10.  To enter a nondecimal number, start the
  143. number with a zero, then use b, o, or x as the second character,
  144. indicating a binary, octal, or hexadecimal number, respectively.  The
  145. following four lines demonstrate different ways to write the decimal
  146. value 100.
  147.  
  148.                       var = 100
  149.                       var = 0x64
  150.                       var =